The present disclosure relates generally to Radio Frequency Identification (RFID) tags and readers, and more particularly, to methods and apparatus for inventorying an RFID tag population.
Radio frequency identification (RFID) has existed for many years. RFID technology is currently being used in many diverse fields including supply chain management, homeland security, military deployment management, the healthcare industry and the airline industry. A conventional RFID system consists of RFID tags or transponders, RFID readers or interrogators, and a database. Each RFID tag consists of a microchip and an embedded antenna that contains a unique identity or Electronic Product Code (EPC). An object or item having an RFID tag affixed thereto is identified when the RFID tag is interrogated by an RFID reader. RFID tags may be classified into active tags, semi-active tags, and passive tags, depending on whether they have embedded power or not and what the embedded power is used for.
An RFID reader conventionally has more than one separate antenna and is responsible for reading RFID tags in the vicinity thereof. The communication between an RFID reader and an RFID tag is established by an air-interface protocol that provides operation modes and procedures for both reader-to-tag and tag-to-reader directions. The air-interface protocol defines the command format, provides synchronous timing between the reader and tags, and determines how the frequency and time resource may be shared by an RFID reader and RFID tags.
Each record of RFID raw data may contain information such as reading time, location, and tag EPC. In business environments, such as a distribution center, many pallets, cases and products having RFID tags attached thereto may arrive during a very short time period and, therefore, massive RFID data flow may be produced. This RFID data typically needs to be managed in an efficient and timely manner. RFID readers usually store some raw data at the front-end of the reading process, producing a filtered RFID database at the end of an interrogation cycle. Conventionally, RFID tags and RFID readers form a front-end communication subsystem, while a database is part of a back-end software subsystem, as shown in FIG. 1.
In the environment shown in FIG. 1, each RFID reader can only interrogate RFID tags within its vicinity or interrogation region. When multiple RFID tags are present within an interrogation region, there are chances that reply signals from these RFID tags may occur simultaneously resulting in “tag collisions.” The conventional way to resolve tag collisions is to let an RFID reader repeatedly send query commands after tag collisions occur and instruct the RFID tags or some of them to respond again. The process of RFID tag identification can be viewed as a chain of cycles or rounds. In each cycle, the RFID reader sends many query commands to identify all existing RFID tags (i.e., all RFID tags within an interrogation region). Within each cycle, an RFID tag that has already been identified will not respond again unless a new cycle is beginning and the RFID reader resets the operations. Because of tag collisions, it may be difficult to identify all existing RFID tags in one cycle. As such, multiple consecutive cycles may be required to guarantee that all or most of the existing RFID tags are successfully identified.
Existing protocols for resolving tag collisions may be classified into two kinds: Tree-Walking-based deterministic algorithms and Aloha-like random algorithms. Tree-Walking-based protocols basically work as follows. An RFID reader sends a first command to query existing RFID tags within an interrogation region. In response, existing RFID tags in the interrogation region respond to the RFID reader. If a tag collision occurs due to more than one RFID tag responding simultaneously, the RFID reader splits the RFID tags into several subsets and sends query commands to query these subsets one-by-one. In a binary tree protocol, each splitting generates two new subsets. If tag collisions continue to occur when querying a subset, the RFID reader splits this subset further into new smaller subsets and again queries these new smaller subsets one-by-one. The splitting is recursively performed until there is only one RFID tag in a new subset and this RFID tag will be successfully identified without any tag collision. By repeating these operations, the RFID reader can identify all RFID tags within an interrogation region. However, because the number of required query commands is dependent on the number of existing RFID tags, this protocol may have limited value.
In conventional Aloha protocol, each RFID tag independently determines its own transmission time, which is a random value, and the transmission can start at any time. If an RFID tag is notified of a collision, it will re-select a random time and attempt retransmission. Unfortunately, conventional Aloha protocol may have low throughput. However, another Aloha protocol, referred to as slotted Aloha protocol, may have higher throughput. In slotted Aloha protocol, time is divided into a sequence of slots and each RFID tag can only start its transmission at the beginning of a slot. The Aloha-based anti-collision algorithms for RFID tags are similar to Framed Slotted Aloha (FSA). In FSA, time is divided into cycles. Each cycle has two parts. The first or control part may have a constant size and is used for RFID reader-to-tag communications. An RFID reader transmits a query command which contains control information to RFID tags within this part. The second or frame part is used for RFID tag-to-reader communications, which consists of a set of slots, which are competed for by RFID tags to send their replies to the RFID reader.
A slotted Aloha-like anti-collision algorithm has been proposed for resolving tag collisions. This algorithm, referred to as EPCglobal RFID Generation-2 (Gen-2) protocol, has an important parameter Q, which determines the maximal number of slots as 2Q. In order to make Q adaptively follow the changing number of participating RFID tags, Gen-2 designs an adaptive slot-count (Q) selection algorithm, called adaptive Q algorithm. This algorithm works as follows. When there is no reply from RFID tags, the RFID reader tries to decrease Q. When there is a collided reply, the reader tries to increase Q. However, the algorithm changes the value of Q with the same amount whether there is a “collided reply” or “no reply” from the RFID tags. Unfortunately, this approach may lead to the same probability with which a collided reply and no reply may happen and, in turn, RFID tag identification speed may be reduced.